package com.sikaryofficial.backend.domain.dto.resp.collection;

import com.sikaryofficial.backend.annotation.LikesDataFormat;
import com.sikaryofficial.backend.domain.dto.resp.UserActionListResp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;

/**
 * 用户行为对象 user_action_t
 *
 * @author qinjinyuan
 * @date 2023-11-09
 */
@Getter
@Setter
@ToString
@ApiModel(value = "用户行为产品出参", description = "用户行为产品出参")
public class UserActionProductResp extends UserActionListResp {
    /**
     * 品牌口味ID
     */
    @ApiModelProperty(value = "品牌口味ID")
    private Long brandTasteId;

    @ApiModelProperty(value = "产品名称")
    private String productName;

    /**
     * 品牌编码
     */
    @ApiModelProperty(value = "品牌编码")
    private String brandNo;

    /**
     * 型号
     */
    @ApiModelProperty(value = "型号")
    private String model;

    /**
     * 口味名称
     */
    @ApiModelProperty(value = "口味名称")
    private String tasteName;

    /**
     * 款式: style:disposable 一次性,cartridge 弹药筒,opentype 开放式
     */
    @ApiModelProperty(value = "款式", example = "disposable")
    private String style;

    /**
     * 品牌封面图片
     */
    @ApiModelProperty(value = "品牌封面图片")
    private String coverUrl;

    @ApiModelProperty(value = "个人图像-统一默认头像")
    private String avatar;

    /**
     * 点赞统计
     */
    @ApiModelProperty(value = "点赞统计", example = "123")
    @LikesDataFormat
    private Integer likesCount;

    /**
     * 是否有我的点赞
     */
    @ApiModelProperty(value = "是否有我的点赞")
    private boolean hasOwnerLikes;

    /**
     * 是否有我的收藏
     */
    @ApiModelProperty(value = "是否有我的收藏")
    private boolean hasOwnerCollection;

    /**
     * 收藏统计
     */
    @ApiModelProperty(value = "收藏统计", example = "123")
    @LikesDataFormat
    private Integer collectionCount;

    @ApiModelProperty(value = "评价统计", example = "123")
    private int evaluationCount;

    /**
     * 综合评分(小数)
     */
    @ApiModelProperty(value = "综合评分(小数)")
    private BigDecimal compositeScore;

    @ApiModelProperty(value = "创建人名称")
    private String createdName;

    @ApiModelProperty(value = "昵称")
    private String nickName;
}
